Intent হল Android অ্যাপ্লিকেশনের একটি গুরুত্বপূর্ণ কম্পোনেন্ট, যা অ্যাপ্লিকেশনের ভেতরে এবং অ্যাপ্লিকেশনের বাইরে বিভিন্ন কাজ সম্পাদন করতে ব্যবহৃত হয়। Intent এর মাধ্যমে অ্যাপ্লিকেশনের এক কম্পোনেন্ট থেকে আরেকটি কম্পোনেন্টে (যেমন Activity, Service, Broadcast Receiver) তথ্য পাঠানো, সিস্টেম ফাংশন ট্রিগার করা, বা অন্য অ্যাপ্লিকেশনের সাথে ইন্টারঅ্যাক্ট করা সম্ভব।
Intent এর মাধ্যমে অ্যাপ্লিকেশন কীভাবে এবং কিসের জন্য কাজ করবে তা সিস্টেমকে জানানো হয়। এটি দুই ধরনের হতে পারে: Explicit Intent এবং Implicit Intent। Intent-এর মাধ্যমে আপনি বিভিন্ন অ্যাপ্লিকেশন কম্পোনেন্টের মধ্যে যোগাযোগ করতে পারেন, যেমন Activity শুরু করা, Service চালানো, Broadcast পাঠানো ইত্যাদি।
Intent এর প্রকারভেদ
১. Explicit Intent
Explicit Intent এর মাধ্যমে আপনি সরাসরি আপনার অ্যাপ্লিকেশনের একটি নির্দিষ্ট কম্পোনেন্টকে (যেমন একটি নির্দিষ্ট Activity বা Service) কল করতে পারেন। এটি সাধারণত আপনার অ্যাপ্লিকেশনের মধ্যে একটি Activity থেকে অন্য Activity তে যাওয়ার জন্য বা একটি Service চালু করার জন্য ব্যবহৃত হয়।
উদাহরণ:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
এখানে, MainActivity থেকে SecondActivity তে যাওয়ার জন্য Explicit Intent ব্যবহার করা হয়েছে। Intent কে স্পষ্টভাবে বলা হয়েছে কোন Activity তে যেতে হবে।
২. Implicit Intent
Implicit Intent এর মাধ্যমে আপনি সিস্টেমকে বলছেন যে একটি নির্দিষ্ট কাজ সম্পাদন করতে হবে, তবে কোন কম্পোনেন্ট তা করবে তা নির্ধারণ করবেন না। উদাহরণস্বরূপ, আপনি যদি একটি URL খুলতে চান বা কোনো ইমেজ শেয়ার করতে চান, তবে Android সিস্টেম উপযুক্ত অ্যাপ নির্বাচন করে সেই কাজটি সম্পন্ন করবে।
উদাহরণ:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.google.com"));
startActivity(intent);
এখানে Implicit Intent ব্যবহার করে ব্রাউজারে একটি URL খোলা হয়েছে। Intent সিস্টেমকে জানায় যে একটি VIEW অ্যাকশন প্রয়োজন, এবং সিস্টেম উপযুক্ত অ্যাপ (যেমন একটি ব্রাউজার) নির্বাচন করে কাজটি সম্পন্ন করবে।
Intent এর প্রধান কাজসমূহ
Intent বিভিন্ন ধরনের কাজ করতে সক্ষম। নিচে Intent এর প্রধান কাজসমূহের তালিকা দেওয়া হলো:
Activity শুরু করা: Intent ব্যবহার করে একটি Activity থেকে অন্য Activity তে যাওয়া যায়। উদাহরণস্বরূপ, লগইন স্ক্রিন থেকে হোম স্ক্রিনে যাওয়া।
Service শুরু করা: Intent এর মাধ্যমে Service চালু করা যায়, যা ব্যাকগ্রাউন্ডে দীর্ঘমেয়াদী কাজ করে। উদাহরণস্বরূপ, ডাউনলোড বা ডেটা সিঙ্ক করা।
Broadcast পাঠানো এবং গ্রহণ করা: Intent ব্যবহার করে Broadcast পাঠানো এবং গ্রহণ করা যায়। উদাহরণস্বরূপ, ব্যাটারি লেভেল পরিবর্তন বা ইন্টারনেট সংযোগের পরিবর্তনের জন্য Broadcast পাঠানো।
Data Passing (ডেটা প্রেরণ): Intent ব্যবহার করে বিভিন্ন ধরনের ডেটা, যেমন টেক্সট, সংখ্যা, URI, এবং Object, একটি Activity থেকে অন্য Activity তে পাঠানো যায়।
উদাহরণ: Data Passing
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("message", "Hello, World!");
startActivity(intent);
SecondActivity এ এই ডেটা গ্রহণ করতে:
String message = getIntent().getStringExtra("message");
- External App Invocation (বাইরের অ্যাপ চালানো): Intent ব্যবহার করে আপনি অন্য অ্যাপ যেমন ক্যামেরা, ব্রাউজার, ডায়ালার ইত্যাদি চালাতে পারেন।
উদাহরণ: Camera App চালানো
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(intent);
Intent Filters
Intent Filter হল এমন একটি কনফিগারেশন যা AndroidManifest.xml এ থাকে এবং নির্দিষ্ট অ্যাকশন বা ডেটার ভিত্তিতে কোনো কম্পোনেন্ট (যেমন Activity, Service, বা Broadcast Receiver) কোন ধরনের Intent গ্রহণ করবে তা সংজ্ঞায়িত করে।
উদাহরণ:
≪activity android:name=".SecondActivity">
≪intent-filter>
≪action android:name="android.intent.action.VIEW" />
≪category android:name="android.intent.category.DEFAULT" />
≪data android:scheme="https" />
≪/intent-filter>
≪/activity>
এখানে SecondActivity একটি Intent Filter নিয়ে কনফিগার করা হয়েছে, যা https URL খুলতে সক্ষম হবে।
Intent এর উপাদানসমূহ
একটি Intent সাধারণত নিচের উপাদানগুলো নিয়ে গঠিত:
- Action: Intent-এর মাধ্যমে কোন কাজ সম্পন্ন হবে তা নির্দেশ করে। উদাহরণ: Intent.ACTION_VIEW, Intent.ACTION_SEND ইত্যাদি।
- Data: Intent কোন ডেটা নিয়ে কাজ করবে তা নির্দেশ করে। উদাহরণ: একটি URL বা একটি ফাইলের পাথ।
- Category: Intent এর ক্যাটাগরি, যেমন CATEGORY_DEFAULT, CATEGORY_BROWSABLE ইত্যাদি।
- Extras: Intent এর মাধ্যমে অতিরিক্ত ডেটা প্রেরণ করা হয়। উদাহরণ: putExtra() মেথড ব্যবহার করে।
Intent এর ব্যবহারিক উদাহরণ
উদাহরণ ১: Text Sharing
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "This is a sample text to share.");
startActivity(Intent.createChooser(intent, "Share via"));
এখানে Implicit Intent ব্যবহার করে একটি টেক্সট শেয়ার করা হয়েছে, যা সিস্টেমকে জানায় যে এটি টেক্সট শেয়ার করার কাজ সম্পন্ন করবে এবং ব্যবহারকারীকে উপযুক্ত অ্যাপ বেছে নিতে দেয়।
উদাহরণ ২: Dialer চালানো
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:1234567890"));
startActivity(intent);
এখানে Intent ব্যবহার করে ডায়ালার চালানো হয়েছে এবং একটি নির্দিষ্ট ফোন নম্বর সেট করা হয়েছে।
উপসংহার
Intent হল Android অ্যাপ্লিকেশনের একটি অপরিহার্য অংশ, যা বিভিন্ন কম্পোনেন্ট এবং অ্যাপ্লিকেশনগুলোর মধ্যে যোগাযোগ স্থাপন করে এবং অ্যাপ্লিকেশনকে ইন্টারেক্টিভ এবং কার্যকর করে তোলে। Intent এর মাধ্যমে আপনি Activity এবং Service চালু করা, Broadcast পাঠানো, ডেটা প্রেরণ, এবং অন্য অ্যাপ ইন্টারঅ্যাকশন করতে পারেন। Intent সিস্টেম এবং অ্যাপ্লিকেশনের মধ্যে গুরুত্বপূর্ণ যোগাযোগের মাধ্যম হিসেবে কাজ করে, যা Android অ্যাপ্লিকেশনগুলোকে আরও ইন্টারেক্টিভ এবং ফাংশনাল করে তোলে।
Read more